package com.mdd.vo.pay.refund;

import com.mdd.vo.pay.DepositBackInfo;
import com.mdd.vo.pay.TradeFundBill;
import lombok.Data;

import java.util.List;

/**
 * TODO
 * <p>
 * {@code @Description}
 * @Author 幻速
 * {@code @Date} 2023/10/30 18:35
 **/
@Data
public class RefundDetail {
    /**
     * String	特殊可选	64
     *     支付宝交易号
     * 2014112611001004680073956707
     */
    private String trade_no;
    /**
     * String	特殊可选	64
     *     创建交易传入的商户订单号
     * 20150320010101001
     */
    private String out_trade_no;
    /**
     * String	特殊可选	64
     *     本笔退款对应的退款请求号
     * 20150320010101001
     */
    private String out_request_no;
    /**
     * Price	特殊可选	11
     *     该笔退款所对应的交易的订单金额。单位：元。
     *             100.20
     */
    private Double total_amount;
    /**
     * Price	特殊可选	11
     *     本次退款请求，对应的退款金额。单位：元。
     *             12.33
     */
    private Double refund_amount;
    /**
     * String	特殊可选	32
     *     退款状态。枚举值：
     *     REFUND_SUCCESS 退款处理成功；
     *     未返回该字段表示退款请求未收到或者退款失败；
     *     注：如果退款查询发起时间早于退款时间，或者间隔退款发起时间太短，可能出现退款查询时还没处理成功，后面又处理成功的情况，建议商户在退款发起后间隔10秒以上再发起退款查询请求。
     *     枚举值
     *     退款处理成功: REFUND_SUCCESS
     *             REFUND_SUCCESS
     */
    private String refund_status;
    /**
     * 退分账明细信息，当前仅在直付通产品中返回。
     */
    private List<RefundRoyaltyResult> refund_royaltys;
    /**
     * Date	特殊可选	32
     * 退款时间。默认不返回该信息，需要在入参的query_options中指定"gmt_refund_pay"值时才返回该字段信息。
     * 2014-11-27 15:45:57
     */
    private String gmt_refund_pay;
    /**
     * 本次退款使用的资金渠道；
     * 默认不返回该信息，需要在入参的query_options中指定"refund_detail_item_list"值时才返回该字段信息。
     */
    private List<TradeFundBill> refund_detail_item_list;
    /**
     * String	特殊可选	11
     *     本次商户实际退回金额；单位：元。
     *     默认不返回该信息，需要在入参的query_options中指定"refund_detail_item_list"值时才返回该字段信息。
     *             88
     */
    private String send_back_fee;
    /**
     * DepositBackInfo	特殊可选
     * 银行卡冲退信息；
     * 默认不返回该信息，需要在入参的query_options中指定"deposit_back_info"值时才返回该字段信息。
     */
    private List<DepositBackInfo> deposit_back_info;
    /**
     * String	可选	11
     * 本次退款金额中退惠营宝的金额。单位：元。
     * 10.24
     */
    private String refund_hyb_amount;
    /**
     * 退费信息
     */
    private List<RefundChargeInfo> refund_charge_info_list;
    /**
     * 组合支付退费明细
     */
    private List<RefundChargeInfo.RefundSubFee> refund_sub_fee_detail_list;
}
